package com.ruoyi.vplat.service;

import java.util.List;
import java.util.Map;
import com.ruoyi.vplat.domain.VplatGateway;

/**
 * 网关Service接口
 * 
 * @author ruoyi
 * @date 2024-12-19
 */
public interface IVplatGatewayService 
{
    /**
     * 查询网关
     * 
     * @param id 网关主键
     * @return 网关
     */
    public VplatGateway selectById(String id);

    /**
     * 查询网关列表
     * 
     * @param vplatGateway 网关
     * @return 网关集合
     * @throws Exception
     */
    public List<Map<String, Object>> queryList(Map<String, Object> param) throws Exception;
    
    /**
     * 查询网关列表
     * 
     * @param vplatGateway 网关
     * @return 网关集合
     */
    public List<VplatGateway> selectList(VplatGateway vplatGateway);

    /**
     * 新增网关
     * 
     * @param vplatGateway 网关
     * @return 结果
     */
    public int insert(VplatGateway vplatGateway);

    /**
     * 修改网关
     * 
     * @param vplatGateway 网关
     * @return 结果
     */
    public int update(VplatGateway vplatGateway);

    /**
     * 批量删除网关
     * 
     * @param ids 需要删除的网关主键集合
     * @return 结果
     */
    public int deleteByIds(String[] ids);

    /**
     * 删除网关信息
     * 
     * @param id 网关主键
     * @return 结果
     */
    public int deleteById(String id);
    /**
     * 根据网关名称查找
     * @param name 网关名称
     * @return
     */
	public VplatGateway selectByName(String name);
	/**
	 * 下线网关
	 * @param username
	 * @return
	 */
	public VplatGateway down(String username);
	/**
	 * 上线网关
	 * @param username
	 * @return
	 */
	public VplatGateway up(String username);
	/**
	 * 下线所有网关
	 * @return
	 */
	public int downAll();
}
